package modelTest.model.mobs;

import java.util.ArrayList;
import java.util.Collections;
import java.util.Iterator;
import java.util.List;

/**
 * Iterator per accedere ai singoli mob nella lista.
 * @author Max
 *
 */
public class MobsIterator implements Iterator<Mob>{
	
	private ArrayList<Mob> mobsCopy;						//DEVO fare una copia della lista prima di iterare, per non tenere gli altri thread bloccati.
	public MobsIterator( List<Mob> mobs) {
		super();
		synchronized (mobs) {	//sensibile all'accesso concorrente da parte dei thread.
			mobsCopy = new ArrayList<Mob>( mobs );
		}
	}

	@Override
	public boolean hasNext() {
		return mobsCopy.iterator().hasNext();
	}
	
	@Override
	public Mob next() {
		return mobsCopy.iterator().next();
	}

}
